Repository navigation
Conversation
Every Digitakt/Digitone module PR appends to the same four files, so each merge left the other open module PRs conflicted until someone repaired and regenerated them by hand. `npm run catalog:resolve`, run after a conflicted `git merge main`, merges machine-modules.json, module-changelogs.json and the Elekloader catalog entry by entry, recomputes the catalogue revision and lock hashes, and refuses entries both sides changed or any other conflict. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Closing without merging. #611 gave each module its own changelog file (src/community/module-changelogs/.json) and stopped committing the generated module list and the Elekloader catalogue, so three of the four files this script resolves no longer conflict between module PRs. Only vendor/elekloader/elekloader.lock.json is still shared. The branch also conflicts with main in package.json. Nothing is lost: the branch stays on origin if the lock-file case ever needs it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every Digitakt/Digitone module PR appends to the same four files:
src/catalog/machine-modules.jsonsrc/community/module-changelogs.jsonvendor/elekloader/catalog/catalog.jsonvendor/elekloader/elekloader.lock.jsonSo when one of these PRs merges, every other open one conflicts with
mainand has to be repaired and regenerated by hand. That happened with #572, #574, #576 and #577.What this adds
After a
git merge mainstops on those files, runnpm run catalog:resolve. It:It runs no module code. It refuses, and leaves to a person:
mainit would reformat.The Octatrack catalogue is left out on purpose. Its
sourceRevisionbinds every compiled package, so two Octatrack PRs need a rebuild, not a merge.docs/DEVELOPER_WORKFLOW.mdnames the command in the existing "main moved" step.Tested
elekloader-vendor.ts(lock and catalogue hashes), themachine-modules.mjsstaleness check,sdk-imports.mjsand the changelog check passed.npm run modules:generatethen changed nothing, so the result is what the generator would write.scripts/catalog-resolve.test.mjscovers ordering, derived hashes and the refusal when both sides edit one module's notes.npm run check -- --base origin/mainpassed: 285 test files, 2,328 tests.Not included
No automatic refresh of open PRs. Pushing merge commits to authors' fork branches needs a push token stored as a secret, and that needs the owner's decision first.
🤖 Generated with Claude Code